home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1990: Discy Business / Discy Business.2mg / DEV.CD / GUIDED.TOURS / IIC.PLUS.TOUR / LEARNING / CDEMO (.txt) next >
Encoding:
Applesoft BASIC Source Code  |  1988-04-10  |  2.3 KB  |  104 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 5  ONERR  GOTO 19100
  2. 10  GOSUB 20000
  3. 20 FI$ = "script": GOTO 1000
  4. 100  REM PLACE FILE NAME F$ INTO PARAMETER AREA
  5. 110  FOR II = 1 TO  LEN(F$)
  6. 120  POKE AD +16 +II, ASC( MID$ (F$,II,1))
  7. 130  NEXT 
  8. 140  POKE AD +16, LEN(F$)
  9. 150  RETURN 
  10. 200  REM GET PARAMETER AREA INTO F$
  11. 210 F$ = "":JJ =  PEEK(AD +16)
  12. 230  FOR II = 1 TO JJ:F$ = F$ + CHR$( PEEK(AD +16 +II)): NEXT : RETURN 
  13. 1000 F$ = FI$: GOSUB 100
  14. 1005 LP =  -1:LP$ = ""
  15. 1010  CALL CA +9: REM OPEN FILE
  16. 1020  CALL CA +12: REM READ A LINE
  17. 1030  GOSUB 200:PR$ = F$: PRINT  CHR$(12)
  18. 1035  CALL CA +12: GOSUB 200:FP$ = F$
  19. 1040  CALL CA +12: GOSUB 200:EP$ = F$
  20. 1050 MM =  -3: GOSUB 8400
  21. 1060 NP$ = ""
  22. 1100  CALL CA +12: REM READ A LINE
  23. 1110  IF  PEEK(AD +16) >0  AND  PEEK(AD +17) =  ASC("%")  THEN 1500
  24. 1120  POKE AD,0: POKE AD +1,ROW: CALL CA +15: REM  WRITE LINE
  25. 1130 ROW = ROW +1
  26. 1140  GOTO 1100
  27. 1500  REM HANDLE COMMANDS
  28. 1510  GOSUB 200
  29. 1520  IF (F$ = "%pic")  THEN  GOSUB 8000: POKE 49235,0: GOTO 1100
  30. 1530  IF (F$ < >"%w")  AND (F$ < >"%last")  THEN 1540
  31. 1535  GOSUB 8100: IF (F$ < >"%end")  THEN 1100
  32. 1540  IF (F$ = "%end")  THEN 9000
  33. 1570  GOTO 1100
  34. 1700  CALL CA +18
  35. 1710  POKE  -16303,0: REM TEXT ON
  36. 1720  PRINT  CHR$(12)
  37. 1730  END 
  38. 8000  REM PLOT PICTURE
  39. 8010  CALL CA +12: GOSUB 200: IF (F$ = LP$)  AND (LP = 0)  THEN  RETURN 
  40. 8015  CALL CA +3:LP$ = F$:LP = 0
  41. 8020  RETURN 
  42. 8100  REM WAIT FOR RETURN, ESC, OR LEFT ARROW
  43. 8105  GOSUB 8160: GOSUB 8400:BU = 0
  44. 8110  IF  PEEK( -16384) <128  THEN 8110
  45. 8120 K =  PEEK( -16384): POKE  -16368,0
  46. 8130  IF (K = 155)  THEN F$ = "%end":TM = 1: RETURN 
  47. 8135  IF (K = 136)  THEN  GOSUB 8300: GOTO 8150
  48. 8140  IF (K < >141)  AND (K < >149)  THEN 8110
  49. 8142  IF (F$ = "%last")  THEN 8110
  50. 8145  REM ERASE BOTTOM OF SCREEN
  51. 8150  POKE 37,19: CALL 64546: PRINT : PRINT  CHR$(11)
  52. 8155  POKE 37,23: CALL 64546
  53. 8157  RETURN 
  54. 8160  VTAB 24
  55. 8162  IF (F$ = "%last")  THEN  POKE 1403,75 - LEN(EP$) -1: PRINT  CHR$(27); CHR$(15);"H"; CHR$(14); CHR$(24);EP$;: GOTO 8180
  56. 8165  IF (MM = 0)  THEN  POKE 1403,75 - LEN(FP$): PRINT FP$;: GOTO 8180
  57. 8170  POKE 1403,75 - LEN(PR$) -1: PRINT  CHR$(27); CHR$(15);"H"; CHR$(14); CHR$(24);PR$;
  58. 8180 ROW = 20
  59. 8190  RETURN 
  60. 8300  REM BACK UP A SCREEN
  61. 8310 MM = MM -6: IF (MM <0)  THEN MM = 0
  62. 8320  POKE AD +16,MK(MM): POKE AD +17,MK(MM +1): POKE AD +18,MK(MM +2)
  63. 8330  CALL CA +24
  64. 8335 BU = 1
  65. 8340  RETURN 
  66. 8400  REM SET MARK
  67. 8410  CALL CA +21
  68. 8420 MM = MM +3
  69. 8430 MK(MM) =  PEEK(AD +16):MK(MM +1) =  PEEK(AD +17):MK(MM +2) =  PEEK(AD +18)
  70. 8440  RETURN 
  71. 9000  CALL CA +18: PRINT  CHR$(12): GOTO 19000
  72. 10000  CALL CA +18: END 
  73. 11000  PRINT  CHR$(4);"CLOSE"
  74. 11010 AD = 912: REM $390
  75. 11020  FOR I = 1 TO  LEN(NP$): POKE AD +I, ASC( MID$ (NP$,I,1)): NEXT 
  76. 11030  POKE AD, LEN(NP$)
  77. 11035  POKE AD + LEN(NP$) +1,0
  78. 11040 J =  LEN(NP$)
  79. 11050  IF ( MID$ (NP$,J,1) < >"/")  THEN J = J -1: GOTO 11050
  80. 11060 AD = 640: REM $280
  81. 11070  FOR I = 1 TO J: POKE AD +I, ASC( MID$ (NP$,I,1)): NEXT 
  82. 11080  POKE AD,J: POKE AD +J +1,0
  83. 11082 PP$ =  LEFT$(NP$,J): PRINT  CHR$(4);"PREFIX ";PP$
  84. 11084  PRINT  CHR$(21)
  85. 11085  REM PRINT CHR$(4);"-";NP$
  86. 11090  CALL 768: REM $300
  87. 19000  POKE  -16303,0: REM TEXT ON
  88. 19010  PRINT  CHR$(12)
  89. 19012  POKE 2048,0: POKE 104,8: POKE 103,1
  90. 19013  POKE 49278,0: POKE 49247,0: REM Disable DHires
  91. 19015  PRINT  CHR$(4);"PREFIX /TUTOR/MENU": PRINT  CHR$(4);"-STARTUP"
  92. 19030  END 
  93. 19100  PRINT  CHR$(4);"CLOSE": GOTO 19000
  94. 20000  REM INITIALIZE VARIABLES
  95. 20010 D$ =  CHR$(4)
  96. 20020 AD = 6400:CA = AD +128: REM $1900 AND $1980
  97. 20030  PRINT D$;"BLOAD DEMOASM"
  98. 20040  PRINT D$;"BLOAD LOADPRG"
  99. 20050 ROW = 20
  100. 20065 F$ = "/TUTOR/LEARNING/": GOSUB 100: CALL CA +27: REM SET PREFIX
  101. 20070  DIM MT$(9),MD$(9),ML(9),MK(240)
  102. 20100 HT = 1403
  103. 20110 TM = 1
  104. 20120  RETURN